<?php

namespace Gds\AchatBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Gds\AchatBundle\Form\FournisseurType;
use Gds\AchatBundle\Entity\Fournisseur;

class FournisseurController extends Controller {

    public function indexAction() {
        $em = $this->getDoctrine()->getEntityManager();
        $request = $this->getRequest();
        $raisonSocial = $request->get('raisonSocial');
        $code = $request->get('code');
        $matriculefiscale = $request->get('matriculefiscale');
        $solde = $request->get('solde');
        $query = $em->getRepository('GdsAchatBundle:Fournisseur')->getResult($raisonSocial, $code, $matriculefiscale, $solde);
        $paginator = $this->get('knp_paginator');
        $pagination = $paginator->paginate(
                $query, $request->get('page', 1)/* page number */, 10/* limit per page */
        );

        if ($request->get('type')) {
            return $this->render('GdsAchatBundle:Fournisseur:page_liste_fournisseur.html.twig', array('pagination' => $pagination));
        }
        if ($request->get('retour') != "")
            return $this->render('GdsAchatBundle:Fournisseur:liste_fournisseur.html.twig', array('pagination' => $pagination));
        return $this->render('GdsAchatBundle:Fournisseur:all_fournisseur.html.twig', array('pagination' => $pagination));
    }
    public function addFournisseurAction() {

        $em = $this->getDoctrine()->getEntityManager();
        $f = new Fournisseur();
        /* Création d'un forumaire pour lequel on spécifie qu'il doit correspondre avec une entité Fournisseur */
        $form = $this->createForm(new FournisseurType(), $f);
        /* On récupère les données du formulaire si il a déjà été passé */
        $request=  $this->getRequest();

        /* On ne traite que les données passées en méthode POST */
        if ($request->isMethod('POST')) {
            /* On applique les données récupérées au formulaire */
            $form->bindRequest($request);// cad rechercher dont la requette tout les donner qui son concerner a cette formulaire
//            var_dump($form);
//            exit();
            /* Si le formulaire est valide, on valide et on redirige vers la liste des fournisseur */
            if ($form->isValid()) {
                 print('VALIDE');
                $f=$form->getData();// dit au formulaire q'on va chercher les donner et les passer a $f
                $em->persist($f);// cad mettre l'objet en memoire
                $em->flush();// enregistrer objet en memoire
                return $this->redirect($this->generateUrl('liste_fournisseur'));
            }
        }

        /* Si aucun formulaire valide n'est récupéré, on affiche le formulaire */

        return $this->render('GdsAchatBundle:Fournisseur:fournisseur.html.twig', array(
             'form' => $form->createView(),      
                ));//'form' => $form->createView(): crer un objet pour notre formulaire si non elle sera plus utilisé par twig
    }

    public function editFournisseurAction($id) {
        
    }

    public function deleteFournisseurAction($id) {
        
    }
    public function getAllFournissuerAction(){
        $em = $this->getDoctrine()->getEntityManager();
        $fournisseurs = $em->getRepository('GdsAchatBundle:Fournisseur')->findAll();
        return $this->render('GdsAchatBundle:Fournisseur:listSelectFiltre.html.twig', array('fournisseurs' => $fournisseurs));
    }
}

